昨天透過 .gitignore把不需要加入版本控制的檔案忽略之後,
Git 已經看到這些檔案了,但它們還沒有被追蹤。我要怎麼告訴Git:「這些檔案是我要管理的」?
這時候就要用到 git add了。
Git在建立Commit前,並不是直接一次把所有檔案存成版本,他會先經過一個暫存區。git add的作用,就是把我們想要納入下一個版本的檔案和修改,放進Staging Area。
工作目錄
↓
git add
↓
Staging Area(暫存區)
↓
git commit
↓
Repository
因為在實際開發時,一次修改的檔案、新增的功能可能很多,但我不一定想要所有修改都放進同一個版本,所以有了Staging Area就可以讓我們在建立Commit之前,先選擇這一次要記錄哪些修改。
我們理解Git為甚麼要設計這個流程之後,就來實際操作看看吧。
git add .gitignore
首先先把 .gitignore加入暫存區
再來看看這個指令有沒有成功
這裡可以看到.gitignore跑到Changes to be committed,這表示已經從未追蹤的檔案中變成加入暫存區了。
git diff --cached
那我們來看一下暫存區裡面有什麼內容。這個指令可以查看目前Staging Area中,準備被Commit的變更。
可以看到.gitignore的內容,還有前面的 + 號,代表這些內容是這次準備加入Commit的變更。
今天我們讓 .gitignore 從Untracked變成Staged,那麼明天就要讓 .gitignore 從Staged變成Committed !